#define FALSE CUByte(0)
#define TRUE CUByte(1)

'~ Type Bool As UByte


#define MAKE_IRR_ID(c0, c1, c2, c3) (CUInt(c0) Or (CUInt(c1) Shl 8) Or (CUInt(c2) Shl 16) Or (CUInt(c3) Shl 24 ))

Enum E_ANTI_ALIASING_MODE
	EAAM_OFF=0
	EAAM_SIMPLE=1
	EAAM_QUALITY=3
	EAAM_LINE_SMOOTH=4
	EAAM_POINT_SMOOTH=8
	EAAM_FULL_BASIC=15
	EAAM_ALPHA_TO_COVERAGE=16
End Enum

Enum E_BLEND_FACTOR
	EBF_ZERO = 0
	EBF_ONE
	EBF_DST_COLOR
	EBF_ONE_MINUS_DST_COLOR
	EBF_SRC_COLOR
	EBF_ONE_MINUS_SRC_COLOR
	EBF_SRC_ALPHA
	EBF_ONE_MINUS_SRC_ALPHA
	EBF_DST_ALPHA
	EBF_ONE_MINUS_DST_ALPHA
	EBF_SRC_ALPHA_SATURATE
End Enum

Enum E_COMPARISON_FUNC
	ECFN_NEVER=0
	ECFN_LESSEQUAL=1
	ECFN_EQUAL=2
	ECFN_LESS
	ECFN_NOTEQUAL
	ECFN_GREATEREQUAL
	ECFN_GREATER
	ECFN_ALWAYS
End Enum

Enum E_COLOR_PLANE
	ECP_NONE=0
	ECP_ALPHA=1
	ECP_RED=2
	ECP_GREEN=4
	ECP_BLUE=8
	ECP_RGB=14
	ECP_ALL=15
End Enum

Enum E_COLOR_MATERIAL
	ECM_NONE=0
	ECM_DIFFUSE
	ECM_AMBIENT
	ECM_EMISSIVE
	ECM_SPECULAR
	ECM_DIFFUSE_AND_AMBIENT
End Enum

Enum E_ALPHA_SOURCE
	EAS_NONE=0
	EAS_VERTEX_COLOR
	EAS_TEXTURE
End Enum

Enum E_BONE_ANIMATION_MODE
	EBAM_AUTOMATIC=0
	EBAM_ANIMATED
	EBAM_UNANIMATED
	EBAM_COUNT
End Enum

Enum E_BONE_SKINNING_SPACE
	EBSS_LOCAL=0
	EBSS_GLOBAL
	EBSS_COUNT
End Enum

Enum ECOLOR_FORMAT
	ECF_A1R5G5B5 = 0
	ECF_R5G6B5
	ECF_R8G8B8
	ECF_A8R8G8B8
	ECF_R16F
	ECF_G16R16F
	ECF_A16B16G16R16F
	ECF_R32F
	ECF_G32R32F
	ECF_A32B32G32R32F
	ECF_UNKNOWN
End Enum

Enum E_DRIVER_TYPE
	EDT_NULL = 0
	EDT_SOFTWARE
	EDT_BURNINGSVIDEO
	EDT_DIRECT3D8
	EDT_DIRECT3D9
	EDT_OPENGL
	EDT_COUNT
End Enum

Enum ELOG_LEVEL
	ELL_INFORMATION = 0
	ELL_WARNING
	ELL_ERROR
	ELL_NONE
End Enum

Enum EMD2_ANIMATION_TYPE
	EMAT_STAND = 0
	EMAT_RUN
	EMAT_ATTACK
	EMAT_PAIN_A
	EMAT_PAIN_B
	EMAT_PAIN_C
	EMAT_JUMP
	EMAT_FLIP
	EMAT_SALUTE
	EMAT_FALLBACK
	EMAT_WAVE
	EMAT_POINT
	EMAT_CROUCH_STAND
	EMAT_CROUCH_WALK
	EMAT_CROUCH_ATTACK
	EMAT_CROUCH_PAIN
	EMAT_CROUCH_DEATH
	EMAT_DEATH_FALLBACK
	EMAT_DEATH_FALLFORWARD
	EMAT_DEATH_FALLBACKSLOW
	EMAT_BOOM
	EMAT_COUNT
End Enum

Enum E_MODULATE_FUNC
	EMFN_MODULATE_1X	= 1
	EMFN_MODULATE_2X	= 2
	EMFN_MODULATE_4X	= 4
End Enum

Enum E_ANIMATED_MESH_TYPE
	EAMT_UNKNOWN = 0
	EAMT_MD2
	EAMT_MD3
	EAMT_OBJ
	EAMT_BSP
	EAMT_3DS
	EAMT_MY3D
	EAMT_LMTS
	EAMT_CSM
	EAMT_OCT
	EAMT_SKINNED
End Enum

Enum E_JOINT_UPDATE_ON_RENDER
	EJUOR_NONE = 0
	EJUOR_READ
	EJUOR_CONTROL
End Enum

Enum E_TRANSFORMATION_STATE
	ETS_VIEW = 0
	ETS_WORLD
	ETS_PROJECTION
	ETS_TEXTURE_0
	ETS_TEXTURE_1
	ETS_TEXTURE_2
	ETS_TEXTURE_3
	ETS_TEXTURE_4
	ETS_TEXTURE_5
	ETS_TEXTURE_6
	ETS_TEXTURE_7
	ETS_COUNT
End Enum

Enum E_LOST_RESSOURCE
	ELR_DEVICE = 1
	ELR_TEXTURES = 2
	ELR_RTTS = 4
	ELR_HW_BUFFERS = 8
End Enum

Enum E_RENDER_TARGET
	ERT_FRAME_BUFFER = 0
	ERT_RENDER_TEXTURE
	ERT_MULTI_RENDER_TEXTURES
	ERT_STEREO_LEFT_BUFFER
	ERT_STEREO_RIGHT_BUFFER
	ERT_STEREO_BOTH_BUFFERS
	ERT_AUX_BUFFER0
	ERT_AUX_BUFFER1
	ERT_AUX_BUFFER2
	ERT_AUX_BUFFER3
	ERT_AUX_BUFFER4
End Enum

Enum E_FOG_TYPE
	EFT_FOG_EXP = 0
	EFT_FOG_LINEAR
	EFT_FOG_EXP2
End Enum

Enum E_ATTRIBUTE_TYPE
	EAT_INT = 0
	EAT_FLOAT
	EAT_STRING
	EAT_BOOL
	EAT_ENUM
	EAT_COLOR
	EAT_COLORF
	EAT_VECTOR3D
	EAT_POSITION2D
	EAT_VECTOR2D
	EAT_RECT
	EAT_MATRIX
	EAT_QUATERNION
	EAT_BBOX
	EAT_PLANE
	EAT_TRIANGLE3D
	EAT_LINE2D
	EAT_LINE3D
	EAT_STRINGWARRAY
	EAT_FLOATARRAY
	EAT_INTARRAY
	EAT_BINARY
	EAT_TEXTURE
	EAT_USER_POINTER
	EAT_COUNT
	EAT_UNKNOWN
End Enum

Enum E_CULLING_TYPE
	EAC_OFF = 0
	EAC_BOX = 1
	EAC_FRUSTUM_BOX = 2
	EAC_FRUSTUM_SPHERE = 4
End Enum

Enum E_DEBUG_SCENE_TYPE
	EDS_OFF = 0
	EDS_BBOX = 1
	EDS_NORMALS = 2
	EDS_SKELETON = 4
	EDS_MESH_WIRE_OVERLAY = 8
	EDS_HALF_TRANSPARENCY = 16
	EDS_BBOX_BUFFERS = 32
	EDS_BBOX_ALL = EDS_BBOX Or EDS_BBOX_BUFFERS
	EDS_FULL = &hffffffff
End Enum

Enum E_DEVICE_TYPE
	EIDT_WIN32 = 0
	EIDT_WINCE
	EIDT_X11
	EIDT_OSX
	EIDT_SDL
	EIDT_FRAMEBUFFER
	EIDT_CONSOLE
	EIDT_BEST
End Enum

Enum E_VIDEO_DRIVER_FEATURE
	EVDF_RENDER_TO_TARGET = 0
	EVDF_HARDWARE_TL
	EVDF_MULTITEXTURE
	EVDF_BILINEAR_FILTER
	EVDF_MIP_MAP
	EVDF_MIP_MAP_AUTO_UPDATE
	EVDF_STENCIL_BUFFER
	EVDF_VERTEX_SHADER_1_1
	EVDF_VERTEX_SHADER_2_0
	EVDF_VERTEX_SHADER_3_0
	EVDF_PIXEL_SHADER_1_1
	EVDF_PIXEL_SHADER_1_2
	EVDF_PIXEL_SHADER_1_3
	EVDF_PIXEL_SHADER_1_4
	EVDF_PIXEL_SHADER_2_0
	EVDF_PIXEL_SHADER_3_0
	EVDF_ARB_VERTEX_PROGRAM_1
	EVDF_ARB_FRAGMENT_PROGRAM_1
	EVDF_ARB_GLSL
	EVDF_HLSL
	EVDF_TEXTURE_NSQUARE
	EVDF_TEXTURE_NPOT
	EVDF_FRAMEBUFFER_OBJECT
	EVDF_VERTEX_BUFFER_OBJECT
	EVDF_ALPHA_TO_COVERAGE
	EVDF_COLOR_MASK
	EVDF_MULTIPLE_RENDER_TARGETS
	EVDF_MRT_BLEND
	EVDF_MRT_COLOR_MASK
	EVDF_MRT_BLEND_FUNC
	EVDF_GEOMETRY_SHADER
	EVDF_COUNT
End Enum

Enum EGUI_ALIGNMENT
	EGUIA_UPPERLEFT = 0
	EGUIA_LOWERRIGHT
	EGUIA_CENTER
	EGUIA_SCALE
End Enum

Enum EGUI_ELEMENT_TYPE
	EGUIET_BUTTON = 0
	EGUIET_CHECK_BOX
	EGUIET_COMBO_BOX
	EGUIET_CONTEXT_MENU
	EGUIET_MENU
	EGUIET_EDIT_BOX
	EGUIET_FILE_OPEN_DIALOG
	EGUIET_COLOR_SELECT_DIALOG
	EGUIET_IN_OUT_FADER
	EGUIET_IMAGE
	EGUIET_LIST_BOX
	EGUIET_MESH_VIEWER
	EGUIET_MESSAGE_BOX
	EGUIET_MODAL_SCREEN
	EGUIET_SCROLL_BAR
	EGUIET_SPIN_BOX
	EGUIET_STATIC_TEXT
	EGUIET_TAB
	EGUIET_TAB_CONTROL
	EGUIET_TABLE
	EGUIET_TOOL_BAR
	EGUIET_TREE_VIEW
	EGUIET_WINDOW
	EGUIET_ELEMENT
	EGUIET_COUNT
	EGUIET_FORCE_32_BIT = &h7fffffff
End Enum

Enum E_HARDWARE_MAPPING
	EHM_NEVER = 0
	EHM_STATIC
	EHM_DYNAMIC
	EHM_STREAM
End Enum

Enum E_BUFFER_TYPE
	EBT_NONE = 0
	EBT_VERTEX
	EBT_INDEX
	EBT_VERTEX_AND_INDEX
End Enum

Enum E_MATERIAL_FLAG
	EMF_WIREFRAME = &h1
	EMF_POINTCLOUD = &h2
	EMF_GOURAUD_SHADING = &h4
	EMF_LIGHTING = &h8
	EMF_ZBUFFER = &h10
	EMF_ZWRITE_ENABLE = &h20
	EMF_BACK_FACE_CULLING = &h40
	EMF_FRONT_FACE_CULLING = &h80
	EMF_BILINEAR_FILTER = &h100
	EMF_TRILINEAR_FILTER = &h200
	EMF_ANISOTROPIC_FILTER = &h400
	EMF_FOG_ENABLE = &h800
	EMF_NORMALIZE_NORMALS = &h1000
	EMF_TEXTURE_WRAP = &h2000
	EMF_ANTI_ALIASING = &h4000
	EMF_COLOR_MASK = &h8000
	EMF_COLOR_MATERIAL = &h10000
End Enum

Enum E_MATERIAL_TYPE
	EMT_SOLID = 0
	EMT_SOLID_2_LAYER
	EMT_LIGHTMAP
	EMT_LIGHTMAP_ADD
	EMT_LIGHTMAP_M2
	EMT_LIGHTMAP_M4
	EMT_LIGHTMAP_LIGHTING
	EMT_LIGHTMAP_LIGHTING_M2
	EMT_LIGHTMAP_LIGHTING_M4
	EMT_DETAIL_MAP
	EMT_SPHERE_MAP
	EMT_REFLECTION_2_LAYER
	EMT_TRANSPARENT_ADD_COLOR
	EMT_TRANSPARENT_ALPHA_CHANNEL
	EMT_TRANSPARENT_ALPHA_CHANNEL_REF
	EMT_TRANSPARENT_VERTEX_ALPHA
	EMT_TRANSPARENT_REFLECTION_2_LAYER
	EMT_NORMAL_MAP_SOLID
	EMT_NORMAL_MAP_TRANSPARENT_ADD_COLOR
	EMT_NORMAL_MAP_TRANSPARENT_VERTEX_ALPHA
	EMT_PARALLAX_MAP_SOLID
	EMT_PARALLAX_MAP_TRANSPARENT_ADD_COLOR
	EMT_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA
	EMT_ONETEXTURE_BLEND
	EMT_FORCE_32BIT = &h7fffffff
End Enum

'~ Enum EMESH_WRITER_TYPE
	'~ EMWT_IRR_MESH     = MAKE_IRR_ID("i","r","r","m")
	'~ EMWT_COLLADA      = MAKE_IRR_ID("c","o","l","l")
	'~ EMWT_STL          = MAKE_IRR_ID("s","t","l",0)
	'~ EMWT_OBJ          = MAKE_IRR_ID("o","b","j",0)
	'~ EMWT_PLY          = MAKE_IRR_ID("p","l","y",0)
'~ End Enum

'~ Const _EMWT_IRR_MESH As Integer    = MAKE_IRR_ID("i","r","r","m")
'~ Const _EMWT_COLLADA  As Integer    = MAKE_IRR_ID("c","o","l","l")
'~ Const _EMWT_STL      As Integer    = MAKE_IRR_ID("s","t","l",0)
'~ Const _EMWT_OBJ      As Integer    = MAKE_IRR_ID("o","b","j",0)
'~ Const _EMWT_PLY      As Integer    = MAKE_IRR_ID("p","l","y",0)

Enum EMESH_WRITER_TYPE
	EMWT_IRR_MESH     = 0
	EMWT_COLLADA
	EMWT_STL
	EMWT_OBJ
	EMWT_PLY
End Enum

Enum E_MESH_WRITER_FLAGS
	EMWF_NONE = 0
	EMWF_WRITE_LIGHTMAPS = &h1
	EMWF_WRITE_COMPRESSED = &h2
	EMWF_WRITE_BINARY = &h4
End Enum

Enum EMESSAGE_BOX_FLAG
	EMBF_OK = &h1
	EMBF_CANCEL = &h2
	EMBF_YES = &h4
	EMBF_NO = &h8
	EMBF_FORCE_32BIT = &h7fffffff
End Enum

Enum E_PRIMITIVE_TYPE
	EPT_POINTS = 0
	EPT_LINE_STRIP
	EPT_LINE_LOOP
	EPT_LINES
	EPT_TRIANGLE_STRIP
	EPT_TRIANGLE_FAN
	EPT_TRIANGLES
	EPT_QUAD_STRIP
	EPT_QUADS
	EPT_POLYGON
	EPT_POINT_SPRITES
End Enum

Enum ESCENE_NODE_ANIMATOR_TYPE
	ESNAT_FLY_CIRCLE = 0
	ESNAT_FLY_STRAIGHT
	ESNAT_FOLLOW_SPLINE
	ESNAT_ROTATION
	ESNAT_TEXTURE
	ESNAT_DELETION
	ESNAT_COLLISION_RESPONSE
	ESNAT_CAMERA_FPS
	ESNAT_CAMERA_MAYA
	ESNAT_COUNT
	ESNAT_UNKNOWN
	ESNAT_FORCE_32_BIT = &h7fffffff
End Enum

'~ Enum ESCENE_NODE_TYPE
	'~ ESNT_CUBE           = MAKE_IRR_ID("c","u","b","e")
	'~ ESNT_SPHERE         = MAKE_IRR_ID("s","p","h","r")
	'~ ESNT_TEXT           = MAKE_IRR_ID("t","e","x","t")
	'~ ESNT_WATER_SURFACE  = MAKE_IRR_ID("w","a","t","r")
	'~ ESNT_TERRAIN        = MAKE_IRR_ID("t","e","r","r")
	'~ ESNT_SKY_BOX        = MAKE_IRR_ID("s","k","y","_")
	'~ ESNT_SKY_DOME       = MAKE_IRR_ID("s","k","y","d")
	'~ ESNT_SHADOW_VOLUME  = MAKE_IRR_ID("s","h","d","w")
	'~ ESNT_OCTREE         = MAKE_IRR_ID("o","c","t","r")
	'~ ESNT_MESH           = MAKE_IRR_ID("m","e","s","h")
	'~ ESNT_LIGHT          = MAKE_IRR_ID("l","g","h","t")
	'~ ESNT_EMPTY          = MAKE_IRR_ID("e","m","t","y")
	'~ ESNT_DUMMY_TRANSFORMATION = MAKE_IRR_ID("d","m","m","y")
	'~ ESNT_CAMERA         = MAKE_IRR_ID("c","a","m","_")
	'~ ESNT_BILLBOARD      = MAKE_IRR_ID("b","i","l","l")
	'~ ESNT_ANIMATED_MESH  = MAKE_IRR_ID("a","m","s","h")
	'~ ESNT_PARTICLE_SYSTEM = MAKE_IRR_ID("p","t","c","l")
	'~ ESNT_Q3SHADER_SCENE_NODE  = MAKE_IRR_ID("q","3","s","h")
	'~ ESNT_MD3_SCENE_NODE  = MAKE_IRR_ID("m","d","3","_")
	'~ ESNT_VOLUME_LIGHT  = MAKE_IRR_ID("v","o","l","l")
	'~ ESNT_CAMERA_MAYA    = MAKE_IRR_ID("c","a","m","M")
	'~ ESNT_CAMERA_FPS     = MAKE_IRR_ID("c","a","m","F")
	'~ ESNT_UNKNOWN        = MAKE_IRR_ID("u","n","k","n")
	'~ ESNT_ANY            = MAKE_IRR_ID("a","n","y","_")
'~ End Enum

Enum ESCENE_NODE_TYPE
	'~ ESNT_CUBE = 0
	'~ ESNT_SPHERE
	'~ ESNT_TEXT
	'~ ESNT_WATER_SURFACE
	'~ ESNT_TERRAIN
	'~ ESNT_SKY_BOX
	'~ ESNT_SKY_DOME
	'~ ESNT_SHADOW_VOLUME
	'~ ESNT_OCTREE
	'~ ESNT_MESH
	'~ ESNT_LIGHT
	'~ ESNT_EMPTY
	'~ ESNT_DUMMY_TRANSFORMATION
	'~ ESNT_CAMERA
	'~ ESNT_BILLBOARD
	'~ ESNT_ANIMATED_MESH
	'~ ESNT_PARTICLE_SYSTEM
	'~ ESNT_Q3SHADER_SCENE_NODE
	'~ ESNT_MD3_SCENE_NODE
	'~ ESNT_VOLUME_LIGHT
	'~ ESNT_CAMERA_MAYA
	'~ ESNT_CAMERA_FPS
	'~ ESNT_UNKNOWN
	ESNT_ANY
End Enum

Enum E_VERTEX_SHADER_TYPE
	EVST_VS_1_1 = 0
	EVST_VS_2_0
	EVST_VS_2_a
	EVST_VS_3_0
	EVST_VS_4_0
	EVST_VS_4_1
	EVST_VS_5_0
	EVST_COUNT
End Enum

Enum E_PIXEL_SHADER_TYPE
	EPST_PS_1_1 = 0
	EPST_PS_1_2
	EPST_PS_1_3
	EPST_PS_1_4
	EPST_PS_2_0
	EPST_PS_2_a
	EPST_PS_2_b
	EPST_PS_3_0
	EPST_PS_4_0
	EPST_PS_4_1
	EPST_PS_5_0
	EPST_COUNT
End Enum

Enum E_GEOMETRY_SHADER_TYPE
	EGST_GS_4_0 = 0
	EGST_COUNT
End Enum

Enum E_TERRAIN_PATCH_SIZE
	ETPS_9 = 9
	ETPS_17 = 17
	ETPS_33 = 33
	ETPS_65 = 65
	ETPS_129 = 129
End Enum

Enum E_LIGHT_TYPE
	ELT_POINT = 0
	ELT_SPOT
	ELT_DIRECTIONAL
End Enum

Enum EGUI_FONT_TYPE
	EGFT_BITMAP = 0
	EGFT_VECTOR
	EGFT_OS
	EGFT_CUSTOM
End Enum

Enum E_VERTEX_TYPE
	EVT_STANDARD = 0
	EVT_2TCOORDS
	EVT_TANGENTS
End Enum

Enum E_INDEX_TYPE
	EIT_16BIT = 0
	EIT_32BIT
End Enum

Enum EGUI_BUTTON_STATE
	EGBS_BUTTON_UP = 0
	EGBS_BUTTON_DOWN
	EGBS_BUTTON_MOUSE_OVER
	EGBS_BUTTON_MOUSE_OFF
	EGBS_BUTTON_FOCUSED
	EGBS_BUTTON_NOT_FOCUSED
	EGBS_COUNT
End Enum

Enum EGUI_SKIN_TYPE
	EGST_WINDOWS_CLASSIC = 0
	EGST_WINDOWS_METALLIC
	EGST_BURNING_SKIN
	EGST_UNKNOWN
	EGST_COUNT
End Enum

Enum EGUI_DEFAULT_COLOR
	EGDC_3D_DARK_SHADOW = 0
	EGDC_3D_SHADOW
	EGDC_3D_FACE
	EGDC_3D_HIGH_LIGHT
	EGDC_3D_LIGHT
	EGDC_ACTIVE_BORDER
	EGDC_ACTIVE_CAPTION
	EGDC_APP_WORKSPACE
	EGDC_BUTTON_TEXT
	EGDC_GRAY_TEXT
	EGDC_HIGH_LIGHT
	EGDC_HIGH_LIGHT_TEXT
	EGDC_INACTIVE_BORDER
	EGDC_INACTIVE_CAPTION
	EGDC_TOOLTIP
	EGDC_TOOLTIP_BACKGROUND
	EGDC_SCROLLBAR
	EGDC_WINDOW
	EGDC_WINDOW_SYMBOL
	EGDC_ICON
	EGDC_ICON_HIGH_LIGHT
	EGDC_COUNT
End Enum

Enum EGUI_DEFAULT_SIZE
	EGDS_SCROLLBAR_SIZE = 0
	EGDS_MENU_HEIGHT
	EGDS_WINDOW_BUTTON_WIDTH
	EGDS_CHECK_BOX_WIDTH
	EGDS_MESSAGE_BOX_WIDTH
	EGDS_MESSAGE_BOX_HEIGHT
	EGDS_BUTTON_WIDTH
	EGDS_BUTTON_HEIGHT
	EGDS_TEXT_DISTANCE_X
	EGDS_TEXT_DISTANCE_Y
	EGDS_TITLEBARTEXT_DISTANCE_X
	EGDS_TITLEBARTEXT_DISTANCE_Y
	EGDS_MESSAGE_BOX_GAP_SPACE
	EGDS_MESSAGE_BOX_MIN_TEXT_WIDTH
	EGDS_MESSAGE_BOX_MAX_TEXT_WIDTH
	EGDS_MESSAGE_BOX_MAX_TEST_WIDTH = EGDS_MESSAGE_BOX_MAX_TEXT_WIDTH
	EGDS_MESSAGE_BOX_MIN_TEXT_HEIGHT
	EGDS_MESSAGE_BOX_MAX_TEXT_HEIGHT
	EGDS_COUNT
End Enum

Enum EGUI_DEFAULT_TEXT
	EGDT_MSG_BOX_OK = 0
	EGDT_MSG_BOX_CANCEL
	EGDT_MSG_BOX_YES
	EGDT_MSG_BOX_NO
	EGDT_WINDOW_CLOSE
	EGDT_WINDOW_MAXIMIZE
	EGDT_WINDOW_MINIMIZE
	EGDT_WINDOW_RESTORE
	EGDT_COUNT
End Enum

Enum EGUI_DEFAULT_ICON
	EGDI_WINDOW_MAXIMIZE = 0
	EGDI_WINDOW_RESTORE
	EGDI_WINDOW_CLOSE
	EGDI_WINDOW_MINIMIZE
	EGDI_WINDOW_RESIZE
	EGDI_CURSOR_UP
	EGDI_CURSOR_DOWN
	EGDI_CURSOR_LEFT
	EGDI_CURSOR_RIGHT
	EGDI_MENU_MORE
	EGDI_CHECK_BOX_CHECKED
	EGDI_DROP_DOWN
	EGDI_SMALL_CURSOR_UP
	EGDI_SMALL_CURSOR_DOWN
	EGDI_RADIO_BUTTON_CHECKED
	EGDI_MORE_LEFT
	EGDI_MORE_RIGHT
	EGDI_MORE_UP
	EGDI_MORE_DOWN
	EGDI_EXPAND
	EGDI_COLLAPSE
	EGDI_FILE
	EGDI_DIRECTORY
	EGDI_COUNT
End Enum

Enum EGUI_DEFAULT_FONT
	EGDF_DEFAULT = 0
	EGDF_BUTTON
	EGDF_WINDOW
	EGDF_MENU
	EGDF_TOOLTIP
	EGDF_COUNT
End Enum

Enum EEVENT_TYPE
	EET_GUI_EVENT = 0
	EET_MOUSE_INPUT_EVENT
	EET_KEY_INPUT_EVENT
	EET_JOYSTICK_INPUT_EVENT
	EET_LOG_TEXT_EVENT
	EET_USER_EVENT
	EGUIET_FORCE_32_BIT = &h7fffffff
End Enum

Enum EMOUSE_INPUT_EVENT
	EMIE_LMOUSE_PRESSED_DOWN = 0
	EMIE_RMOUSE_PRESSED_DOWN
	EMIE_MMOUSE_PRESSED_DOWN
	EMIE_LMOUSE_LEFT_UP
	EMIE_RMOUSE_LEFT_UP
	EMIE_MMOUSE_LEFT_UP
	EMIE_MOUSE_MOVED
	EMIE_MOUSE_WHEEL
	EMIE_LMOUSE_DOUBLE_CLICK
	EMIE_RMOUSE_DOUBLE_CLICK
	EMIE_MMOUSE_DOUBLE_CLICK
	EMIE_LMOUSE_TRIPLE_CLICK
	EMIE_RMOUSE_TRIPLE_CLICK
	EMIE_MMOUSE_TRIPLE_CLICK
	EMIE_COUNT
End Enum

Enum E_MOUSE_BUTTON_STATE_MASK
	EMBSM_LEFT    = &h01
	EMBSM_RIGHT   = &h02
	EMBSM_MIDDLE  = &h04
	EMBSM_EXTRA1  = &h08
	EMBSM_EXTRA2  = &h10
	EMBSM_FORCE_32_BIT = &h7fffffff
End Enum

Enum EGUI_EVENT_TYPE
	EGET_ELEMENT_FOCUS_LOST = 0
	EGET_ELEMENT_FOCUSED
	EGET_ELEMENT_HOVERED
	EGET_ELEMENT_LEFT
	EGET_ELEMENT_CLOSED
	EGET_BUTTON_CLICKED
	EGET_SCROLL_BAR_CHANGED
	EGET_CHECKBOX_CHANGED
	EGET_LISTBOX_CHANGED
	EGET_LISTBOX_SELECTED_AGAIN
	EGET_FILE_SELECTED
	EGET_DIRECTORY_SELECTED
	EGET_FILE_CHOOSE_DIALOG_CANCELLED
	EGET_MESSAGEBOX_YES
	EGET_MESSAGEBOX_NO
	EGET_MESSAGEBOX_OK
	EGET_MESSAGEBOX_CANCEL
	EGET_EDITBOX_ENTER
	EGET_EDITBOX_CHANGED
	EGET_EDITBOX_MARKING_CHANGED
	EGET_TAB_CHANGED
	EGET_MENU_ITEM_SELECTED
	EGET_COMBO_BOX_CHANGED
	EGET_SPINBOX_CHANGED
	EGET_TABLE_CHANGED
	EGET_TABLE_HEADER_CHANGED
	EGET_TABLE_SELECTED_AGAIN
	EGET_TREEVIEW_NODE_DESELECT
	EGET_TREEVIEW_NODE_SELECT
	EGET_TREEVIEW_NODE_EXPAND
	EGET_TREEVIEW_NODE_COLLAPS
	EGET_TREEVIEW_NODE_COLLAPSE = EGET_TREEVIEW_NODE_COLLAPS
	EGET_COUNT
End Enum

Enum E_AXIS_TYPE
	NUMBER_OF_BUTTONS = 32
	AXIS_X = 0
	AXIS_Y
	AXIS_Z
	AXIS_R
	AXIS_U
	AXIS_V
	NUMBER_OF_AXES
End Enum

enum E_POV_HAT_TYPE
	POV_HAT_PRESENT = 0
	POV_HAT_ABSENT
	POV_HAT_UNKNOWN
End Enum

Enum EKEY_CODE
	KEY_LBUTTON          = &h01
	KEY_RBUTTON          = &h02
	KEY_CANCEL           = &h03
	KEY_MBUTTON          = &h04
	KEY_XBUTTON1         = &h05
	KEY_XBUTTON2         = &h06
	KEY_BACK             = &h08
	KEY_TAB              = &h09
	KEY_CLEAR            = &h0C
	KEY_RETURN           = &h0D
	KEY_SHIFT            = &h10
	KEY_CONTROL          = &h11
	KEY_MENU             = &h12
	KEY_PAUSE            = &h13
	KEY_CAPITAL          = &h14
	KEY_KANA             = &h15
	KEY_HANGUEL          = &h15
	KEY_HANGUL           = &h15
	KEY_JUNJA            = &h17
	KEY_FINAL            = &h18
	KEY_HANJA            = &h19
	KEY_KANJI            = &h19
	KEY_ESCAPE           = &h1B
	KEY_CONVERT          = &h1C
	KEY_NONCONVERT       = &h1D
	KEY_ACCEPT           = &h1E
	KEY_MODECHANGE       = &h1F
	KEY_SPACE            = &h20
	KEY_PRIOR            = &h21
	KEY_NEXT             = &h22
	KEY_END              = &h23
	KEY_HOME             = &h24
	KEY_LEFT             = &h25
	KEY_UP               = &h26
	KEY_RIGHT            = &h27
	KEY_DOWN             = &h28
	KEY_SELECT           = &h29
	KEY_PRINT            = &h2A
	KEY_EXECUT           = &h2B
	KEY_SNAPSHOT         = &h2C
	KEY_INSERT           = &h2D
	KEY_DELETE           = &h2E
	KEY_HELP             = &h2F
	KEY_KEY_0            = &h30
	KEY_KEY_1            = &h31
	KEY_KEY_2            = &h32
	KEY_KEY_3            = &h33
	KEY_KEY_4            = &h34
	KEY_KEY_5            = &h35
	KEY_KEY_6            = &h36
	KEY_KEY_7            = &h37
	KEY_KEY_8            = &h38
	KEY_KEY_9            = &h39
	KEY_KEY_A            = &h41
	KEY_KEY_B            = &h42
	KEY_KEY_C            = &h43
	KEY_KEY_D            = &h44
	KEY_KEY_E            = &h45
	KEY_KEY_F            = &h46
	KEY_KEY_G            = &h47
	KEY_KEY_H            = &h48
	KEY_KEY_I            = &h49
	KEY_KEY_J            = &h4A
	KEY_KEY_K            = &h4B
	KEY_KEY_L            = &h4C
	KEY_KEY_M            = &h4D
	KEY_KEY_N            = &h4E
	KEY_KEY_O            = &h4F
	KEY_KEY_P            = &h50
	KEY_KEY_Q            = &h51
	KEY_KEY_R            = &h52
	KEY_KEY_S            = &h53
	KEY_KEY_T            = &h54
	KEY_KEY_U            = &h55
	KEY_KEY_V            = &h56
	KEY_KEY_W            = &h57
	KEY_KEY_X            = &h58
	KEY_KEY_Y            = &h59
	KEY_KEY_Z            = &h5A
	KEY_LWIN             = &h5B
	KEY_RWIN             = &h5C
	KEY_APPS             = &h5D
	KEY_SLEEP            = &h5F
	KEY_NUMPAD0          = &h60
	KEY_NUMPAD1          = &h61
	KEY_NUMPAD2          = &h62
	KEY_NUMPAD3          = &h63
	KEY_NUMPAD4          = &h64
	KEY_NUMPAD5          = &h65
	KEY_NUMPAD6          = &h66
	KEY_NUMPAD7          = &h67
	KEY_NUMPAD8          = &h68
	KEY_NUMPAD9          = &h69
	KEY_MULTIPLY         = &h6A
	KEY_ADD              = &h6B
	KEY_SEPARATOR        = &h6C
	KEY_SUBTRACT         = &h6D
	KEY_DECIMAL          = &h6E
	KEY_DIVIDE           = &h6F
	KEY_F1               = &h70
	KEY_F2               = &h71
	KEY_F3               = &h72
	KEY_F4               = &h73
	KEY_F5               = &h74
	KEY_F6               = &h75
	KEY_F7               = &h76
	KEY_F8               = &h77
	KEY_F9               = &h78
	KEY_F10              = &h79
	KEY_F11              = &h7A
	KEY_F12              = &h7B
	KEY_F13              = &h7C
	KEY_F14              = &h7D
	KEY_F15              = &h7E
	KEY_F16              = &h7F
	KEY_F17              = &h80
	KEY_F18              = &h81
	KEY_F19              = &h82
	KEY_F20              = &h83
	KEY_F21              = &h84
	KEY_F22              = &h85
	KEY_F23              = &h86
	KEY_F24              = &h87
	KEY_NUMLOCK          = &h90
	KEY_SCROLL           = &h91
	KEY_LSHIFT           = &hA0
	KEY_RSHIFT           = &hA1
	KEY_LCONTROL         = &hA2
	KEY_RCONTROL         = &hA3
	KEY_LMENU            = &hA4
	KEY_RMENU            = &hA5
	KEY_PLUS             = &hBB
	KEY_COMMA            = &hBC
	KEY_MINUS            = &hBD
	KEY_PERIOD           = &hBE
	KEY_ATTN             = &hF6
	KEY_CRSEL            = &hF7
	KEY_EXSEL            = &hF8
	KEY_EREOF            = &hF9
	KEY_PLAY             = &hFA
	KEY_ZOOM             = &hFB
	KEY_PA1              = &hFD
	KEY_OEM_CLEAR        = &hFE
	KEY_KEY_CODES_COUNT  = &hFF
End Enum

Enum EINPUT_METHOD_EVENT
	EIME_CHAR_INPUT = 0
	EIME_CHANGE_POS
	EIME_FORCE_32_BIT = &h7fffffff
End Enum

Enum EFileSystemType
	FILESYSTEM_NATIVE = 0
	FILESYSTEM_VIRTUAL
End Enum

'~ Enum E_FILE_ARCHIVE_TYPE
	'~ EFAT_ZIP     = MAKE_IRR_ID("Z","I","P", 0)
	'~ EFAT_GZIP    = MAKE_IRR_ID("g","z","i","p")
	'~ EFAT_FOLDER  = MAKE_IRR_ID("f","l","d","r")
	'~ EFAT_PAK     = MAKE_IRR_ID("P","A","K", 0)
	'~ EFAT_NPK     = MAKE_IRR_ID("N","P","K", 0)
	'~ EFAT_TAR     = MAKE_IRR_ID("T","A","R", 0)
	'~ EFAT_UNKNOWN = MAKE_IRR_ID("u","n","k","n")
'~ End Enum

Enum E_FILE_ARCHIVE_TYPE
	EFAT_ZIP = 0
	EFAT_GZIP
	EFAT_FOLDER
	EFAT_PAK
	EFAT_NPK
	EFAT_TAR
	EFAT_UNKNOWN
End Enum

Enum E_SCENE_NODE_RENDER_PASS
	ESNRP_NONE = 0
	ESNRP_CAMERA = 1
	ESNRP_LIGHT = 2
	ESNRP_SKY_BOX = 4
	ESNRP_AUTOMATIC = 24
	ESNRP_SOLID = 8
	ESNRP_TRANSPARENT = 16
	ESNRP_TRANSPARENT_EFFECT = 32
	ESNRP_SHADOW = 64
End Enum

Enum E_TEXTURE_CREATION_FLAG
	ETCF_ALWAYS_16_BIT = &h00000001
	ETCF_ALWAYS_32_BIT = &h00000002
	ETCF_OPTIMIZED_FOR_QUALITY = &h00000004
	ETCF_OPTIMIZED_FOR_SPEED = &h00000008
	ETCF_CREATE_MIP_MAPS = &h00000010
	ETCF_NO_ALPHA_CHANNEL = &h00000020
	ETCF_ALLOW_NON_POWER_2 = &h00000040
	ETCF_FORCE_32_BIT_DO_NOT_USE = &h7fffffff
End Enum

Enum ECONTEXT_MENU_CLOSE
	ECMC_IGNORE = 0
	ECMC_REMOVE = 1
	ECMC_HIDE = 2
End Enum

Enum ETEXT_FORMAT
	ETF_ASCII = 0
	ETF_UTF8
	ETF_UTF16_BE
	ETF_UTF16_LE
	ETF_UTF32_BE
	ETF_UTF32_LE
End Enum

Enum EXML_NODE
	EXN_NONE = 0
	EXN_ELEMENT
	EXN_ELEMENT_END
	EXN_TEXT
	EXN_COMMENT
	EXN_CDATA
	EXN_UNKNOWN
End Enum

Enum EKEY_ACTION
	EKA_MOVE_FORWARD = 0
	EKA_MOVE_BACKWARD
	EKA_STRAFE_LEFT
	EKA_STRAFE_RIGHT
	EKA_JUMP_UP
	EKA_CROUCH
	EKA_COUNT
	EKA_FORCE_32BIT = &h7fffffff
End Enum

Enum EGUI_COLUMN_ORDERING
	EGCO_NONE = 0
	EGCO_CUSTOM
	EGCO_ASCENDING
	EGCO_DESCENDING
	EGCO_FLIP_ASCENDING_DESCENDING
	EGCO_COUNT
End Enum

Enum EGUI_ORDERING_MODE
	EGOM_NONE = 0
	EGOM_ASCENDING
	EGOM_DESCENDING
	EGOM_COUNT
End Enum

Enum EGUI_TABLE_DRAW_FLAGS
	EGTDF_ROWS = 1
	EGTDF_COLUMNS = 2
	EGTDF_ACTIVE_ROW = 4
	EGTDF_COUNT
End Enum

Enum EGUI_LISTBOX_COLOR
	EGUI_LBC_TEXT = 0
	EGUI_LBC_TEXT_HIGHLIGHT
	EGUI_LBC_ICON
	EGUI_LBC_ICON_HIGHLIGHT
	EGUI_LBC_COUNT
End Enum

Enum E_PARTICLE_AFFECTOR_TYPE
	EPAT_NONE = 0
	EPAT_ATTRACT
	EPAT_FADE_OUT
	EPAT_GRAVITY
	EPAT_ROTATE
	EPAT_SCALE
	EPAT_COUNT
End Enum

Enum E_PARTICLE_EMITTER_TYPE
	EPET_POINT = 0
	EPET_ANIMATED_MESH
	EPET_BOX
	EPET_CYLINDER
	EPET_MESH
	EPET_RING
	EPET_SPHERE
	EPET_COUNT
End Enum

Enum eAllocStrategy
	ALLOC_STRATEGY_SAFE    = 0
	ALLOC_STRATEGY_DOUBLE  = 1
	ALLOC_STRATEGY_SQRT    = 2
End Enum

Enum EIntersectionRelation3D
	ISREL3D_FRONT = 0
	ISREL3D_BACK
	ISREL3D_PLANAR
	ISREL3D_SPANNING
	ISREL3D_CLIPPED
End Enum

Enum eConstructor
	EM4CONST_NOTHING = 0
	EM4CONST_COPY
	EM4CONST_IDENTITY
	EM4CONST_TRANSPOSED
	EM4CONST_INVERSE
	EM4CONST_INVERSE_TRANSPOSED
End Enum

Enum eQ3ModifierFunction
	TCMOD				= 0
	DEFORMVERTEXES		= 1
	RGBGEN				= 2
	TCGEN				= 3
	MAP					= 4
	ALPHAGEN			= 5
	FUNCTION2			= &h10
	SCROLL				= FUNCTION2 + 1
	SCALE				= FUNCTION2 + 2
	ROTATE				= FUNCTION2 + 3
	STRETCH				= FUNCTION2 + 4
	TURBULENCE			= FUNCTION2 + 5
	WAVE				= FUNCTION2 + 6
	IDENTITY			= FUNCTION2 + 7
	VERTEX				= FUNCTION2 + 8
	TEXTURE				= FUNCTION2 + 9
	LIGHTMAP			= FUNCTION2 + 10
	ENVIRONMENT			= FUNCTION2 + 11
	DOLLAR_LIGHTMAP		= FUNCTION2 + 12
	BULGE				= FUNCTION2 + 13
	AUTOSPRITE			= FUNCTION2 + 14
	AUTOSPRITE2			= FUNCTION2 + 15
	TRANSFORM			= FUNCTION2 + 16
	EXACTVERTEX			= FUNCTION2 + 17
	CONSTANT			= FUNCTION2 + 18
	LIGHTINGSPECULAR	= FUNCTION2 + 19
	MOVE				= FUNCTION2 + 20
	NORMAL				= FUNCTION2 + 21
	IDENTITYLIGHTING	= FUNCTION2 + 22
	WAVE_MODIFIER_FUNCTION	= &h30
	SINUS				= WAVE_MODIFIER_FUNCTION + 1
	COSINUS				= WAVE_MODIFIER_FUNCTION + 2
	SQUARE				= WAVE_MODIFIER_FUNCTION + 3
	TRIANGLE			= WAVE_MODIFIER_FUNCTION + 4
	SAWTOOTH			= WAVE_MODIFIER_FUNCTION + 5
	SAWTOOTH_INVERSE	= WAVE_MODIFIER_FUNCTION + 6
	NOISE				= WAVE_MODIFIER_FUNCTION + 7
	UNKNOWN				= -2
End Enum

Enum E_FILESELECTOR_TYPE
	EFST_OPEN_DIALOG = 0' For opening files
	EFST_SAVE_DIALOG = 1' For saving files
	EFST_NUM_TYPES = 2' Not used, just specifies how many possible types there are
End Enum

Enum E_BLEND_OPERATION
	EBO_NONE = 0		' No blending happens
	EBO_ADD = 1			' Default blending adds the color values
	EBO_SUBTRACT = 2	' This mode subtracts the color values
	EBO_REVSUBTRACT = 3	' This modes subtracts destination from source
	EBO_MIN = 4			' Choose minimum value of each color channel
	EBO_MAX = 5			' Choose maximum value of each color channel
	EBO_MIN_FACTOR = 6	' Choose minimum value of each color channel after applying blend factors, not widely supported
	EBO_MAX_FACTOR = 7	' Choose maximum value of each color channel after applying blend factors, not widely supported
	EBO_MIN_ALPHA = 8	' Choose minimum value of each color channel based on alpha value, not widely supported
	EBO_MAX_ALPHA = 9	' Choose maximum value of each color channel based on alpha value, not widely supported
End Enum
